﻿/*
 * CommandTypeEnum
 * 
 * command types for communication between apps
 * 
 * created by: asida@centrum.cz
 * 
 * initial implementation: 6.12.2011
 * last updated:
 */
using System;


namespace uhul
{



  /// <summary>
  /// describes command types for communication between apps
  /// </summary>
  public enum CommandTypeEnum : int
  {

    // XapExplorer commands reserved 0 - 255
    /// <summary>
    /// XapExplorer loads and run new app from available apps
    /// given by TargetApplicationName property in command
    /// and saves command parameter (if present)
    /// </summary>
    RunApplication = 1,

    /// <summary>
    /// XapExplorer takes existing app and creates new one based on this
    /// with new unique name supplied in command parameter. Then runs this new app
    /// </summary>
    //RunAppClone = 2,

    /// <summary>
    /// stop application given by TargetApplicationName
    /// </summary>
    StopApplication = 3,

    /// <summary>
    /// after application success load, it can tell back to XapExplorer
    /// that is ready to listen to commands.
    /// If pending commmand exists for this app XapBrowser sends it to app now
    /// </summary>
    ActivateCommunication = 4,

    /// <summary>
    /// changes text on running application tab button
    /// to text given by Command parameter
    /// </summary>
    ChangeAppTabBtnLabel = 5,

    /// <summary>
    /// increases wait counter +1 and begins wait animation
    /// </summary>
    BeginWait = 6,

    /// <summary>
    /// decreases wait counter -1 and if counter = 0 stops wait animation
    /// </summary>
    EndWait = 7,

    /// <summary>
    /// Activates running app (shows its GUI as top most)
    /// </summary>
    ActivateApp = 8,

    /// <summary>
    /// Activates running app (shows its GUI as top most)
    /// </summary>
    ActivateAppAsPrevious = 9,


    //app generic messages

    ///// <summary>
    ///// XapExplorer can send this message to any app to let it know
    ///// that this app will be killed (stopped)
    ///// </summary>
    //PrepareStopApplication = 256,

    //user defined messages...

    ZmenaLhc = 500,
    ZmenaLhcMaj = 501,
    ZmenaJprl = 502,
    ZmenaKu = 503,
    ZmenaParcely = 504,

    /// <summary>
    /// command for map to move its current view position
    /// if targetAppName is specified, only this map should move
    /// </summary>
    MapMove = 505,

    ZobrazInfoOParcele = 506,
    ZobrazInfoOJprl = 507,
    ZobrazInfoOLhc = 508,

  }


}
